const express = require('express')
const router = express.Router()
// 链接数据库
const conn = require('../util/sql')

// post键值对传递
router.use(express.urlencoded())
// 获取文章分类列表
router.get('/cates', (req, res) => {
    // 1.获取参数
    console.log('获取文章分类列表接受的参数是', req.query);
    // 2.拼接SQL语句
    const sqlStr = `select * from categories`
    // console.log(sqlStr);
    // 3.执行sql语句
    conn.query(sqlStr, (err, result) => {
        // 4.根据不同结果返回响应
        if (err) {
            console.log(err);
            res.json({
                status: 1,
                message: "获取文章分类列表失败",
            })
            return
        }
        res.json({
            status: 0,
            message: "获取文章分类列表成功",
            data: result
        })
        console.log(result);
    })
    // res.send('ok')
})
// 新增文章分类
router.post('/addcates', (req, res) => {
    // 1.获取参数 ，post传递普通键值对
    console.log('新增文章分类', req.body);
    // 解构
    const {
        name,
        slug
    } = req.body
    // 2.拼接sql语句
    const sqlStr = `insert into categories (name, slug) values ("${name}","${slug}")`
    // 3.操作数据库
    conn.query(sqlStr, (err, result) => {
        if (err) {
            res.json({
                "code": 500,
                "msg": "服务器出错"
            })
            return
        }
        res.json({
            "status": 0,
            "message": "新增文章分类成功！"
        })
    })
})
// 删除文章分类
router.get('/deletecate', (req, res) => {
    // 1.获取参数 ，post传递普通键值对
    console.log('删除文章分类', req.query);
    // 解构
    const {
        id
    } = req.query
    // 2.拼接sql语句
    let sqlStr = `delete from categories where id="${id}"`
    // 3.操作数据库
    conn.query(sqlStr, (err, result) => {
        if (err) {
            res.json({
                "status": 500,
                "message": "服务器出错"
            })
            return
        }
        res.json({
            "status": 0,
            "message": "删除文章分类成功！"
        })
    })
})
// 根据 Id 获取文章分类数据
router.get('/getCatesById', (req, res) => {
    // 1.获取参数 ，post传递普通键值对
    console.log('根据 Id 获取文章分类数据', req.query);
    // 解构
    const {
        id
    } = req.query
    // 2.拼接sql语句
    let sqlStr = `select * from categories where id="${id}"`
    // 3.操作数据库
    conn.query(sqlStr, (err, result) => {
        if (err) {
            res.json({
                "status": 500,
                "message": "服务器出错"
            })
            return
        }
        res.json({
            "status": 0,
            "message": "获取文章分类数据成功！",
            data:result
        })
    })
})
// 根据 Id 更新文章分类数据
router.post('/updatecate', (req, res) => {
    // 1.获取参数 ，post传递普通键值对
    console.log('根据 Id 更新文章分类数据', req.body);
    // 解构
    const {
        id,
        name,
        slug
    } = req.body
    // 2.拼接sql语句
    const sqlStr = `update categories set name="${name}",slug="${slug}"  where id="${id}"`
    // 3.操作数据库
    conn.query(sqlStr, (err, result) => {
        if (err) {
            res.json({
                "status": 500,
                "message": "服务器出错"
            })
            return
        }
        res.json({
            "status": 0,
            "message": "更新分类信息成功！"
        })
    })
})



// 导出
module.exports = router